-- ok so i took a small amount of the nights code from the easy mode mod by cole207 and it didnt say if it was reusable or not so im hoping it is

local ringcount = 10

addHook("PlayerSpawn",function(player)
	ringcount = 0
end)

addHook("PlayerThink", do
    for player in players.iterate
        if player.mo.skin == "amy2" then
			if player.mo and G_IsSpecialStage() == true then
				if player.mo.z <= player.mo.floorz or player.powers[pw_pushing] then
					P_DamageMobj(player.mo, enemy, enemy, DMG_INSTAKILL)
				end
				if ringcount - player.rings == 0 then
					ringcount = ringcount + 40
					local timepowerup = P_SpawnMobjFromMobj(player.mo,0,0,0,MT_NIGHTSEXTRATIME)
					timepowerup.state = MT_NIGHTSEXTRATIME	
					timepowerup.flags2 = timepowerup.flags2 & ~MF2_DONTDRAW
					timepowerup.flags = timepowerup.flags |MF_SPECIAL & ~MF_NIGHTSITEM
				end
			end
		end
		if player.mo.skin == "knuckles2" then
			if player.mo and G_IsSpecialStage() == true then
				if ringcount - player.rings == 0 then
					ringcount = ringcount + 30
					local drillpowerup = P_SpawnMobjFromMobj(player.mo,0,0,0,MT_NIGHTSDRILLREFILL)
					drillpowerup.state = S_NIGHTSDRILLREFILL
					drillpowerup.flags2 = drillpowerup.flags2 & ~MF2_DONTDRAW
					drillpowerup.flags = drillpowerup.flags |MF_SPECIAL & ~MF_NIGHTSITEM
				end
			end
		end
		if player.mo.skin == "tails2" then
			if player.mo and G_IsSpecialStage() == true then
				if ringcount - player.rings == 0 then
					ringcount = ringcount + 30
					local birdpowerup = P_SpawnMobjFromMobj(player.mo,0,0,0,MT_NIGHTSHELPER)
					birdpowerup.state = MT_NIGHTSHELPER	
					birdpowerup.flags2 = birdpowerup.flags2 & ~MF2_DONTDRAW
					birdpowerup.flags = birdpowerup.flags |MF_SPECIAL & ~MF_NIGHTSITEM
				end
			end
		end
		if player.mo.skin == "sonic2" then
			if player.mo and G_IsSpecialStage() == true then
				if (player.cmd.buttons & BT_JUMP) then
					P_Thrust(player.mo, player.mo.angle, 5*FRACUNIT)
				end
				if ringcount - player.rings == 0 then
					ringcount = ringcount + 40
					local looppowerup = P_SpawnMobjFromMobj(player.mo,0,0,0,MT_NIGHTSSUPERLOOP)
					looppowerup.state = MT_NIGHTSSUPERLOOP
					looppowerup.flags2 = looppowerup.flags2 & ~MF2_DONTDRAW
					looppowerup.flags = looppowerup.flags |MF_SPECIAL & ~MF_NIGHTSITEM
				end
			end
		end
		if player.mo.skin == "metalsonic2" then
			if player.mo and G_IsSpecialStage() == true then
				if not (player.cmd.buttons & BT_JUMP) then
					P_Thrust(player.mo, player.mo.angle, 7*FRACUNIT)
				end
			end
		end
		if player.mo.skin == "fang22" then
			if player.mo and G_IsSpecialStage() == true then
				if ringcount - player.rings == 0 then
					ringcount = ringcount + 30
					local linkpowerup = P_SpawnMobjFromMobj(player.mo,0,0,0,MT_NIGHTSLINKFREEZE)
					linkpowerup.state = MT_NIGHTSLINKFREEZE
					linkpowerup.flags2 = linkpowerup.flags2 & ~MF2_DONTDRAW
					linkpowerup.flags = linkpowerup.flags |MF_SPECIAL & ~MF_NIGHTSITEM
				end
			end
		end
    end
end)
